package com.tensquare.sms.listener;


import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

import java.io.IOException;
import java.util.Map;

@Component
@RabbitListener(queues = {"sms"}) //声明从哪些队列接受消息
public class SmsListener {

    @RabbitHandler //接受到消息的处理方法
    public void reciveMsg(Map<String, String> map) {
        String phoneNumber = map.get("phoneNumber");
        String checkCode = map.get("checkCode");
        System.out.println("手机号:" + phoneNumber);
        System.out.println("验证码:" + checkCode);
        // 短信应用 SDK AppID 以1400开头
        int appid = 1400241491;
        // 短信应用 SDK AppKey
        String appkey = "4a9e522ccc4171751766b691bff9f097";
        // 需要发送短信的手机号码
        // 短信模板 ID，需要在短信应用中申请
        int templateId = 390511;
        // 签名参数使用的是`签名内容`，而不是`签名ID`。这里的签名"腾讯云"只是示例，真实的签名需要在短信控制台申请
        String smsSign = "马糠乐个人开发学习";
        String[] params = {checkCode, "2"};
//        try {
//            SmsSingleSender ssender = new SmsSingleSender(appid, appkey);
//            // 签名参数未提供或者为空时，会使用默认签名发送短信
//            SmsSingleSenderResult result = ssender.sendWithParam("86", phoneNumber, templateId, params, smsSign, "", "");
//            System.out.println(result);
//        } catch (IOException | HTTPException e) {
//            e.printStackTrace();
//        }

    }

}
